package com.example.demo.报案汇总表;

import cn.hutool.core.io.FileUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;

import java.util.ArrayList;
import java.util.List;

public class MainTest {


    public static void main(String[] args) {
        main2();
        System.out.println("操作完成");
    }


    public static void main2() {

        String path = "D:\\桌面\\21\\报案汇总表.xlsx";
        //通过sheet名获取
        ExcelReader reader = ExcelUtil.getReader(FileUtil.file(path), "报案");

        List<Bean5> list = reader.readAll(Bean5.class);
        //=================
        ExcelReader reader2 = ExcelUtil.getReader(FileUtil.file(path), "合同");
        List<Bean5> list2 = reader2.readAll(Bean5.class);

        List<Bean5> list3 = new ArrayList<>();
        formatList(list, list2, list3);
        excelWriterBean3(list3);
    }

    public static void formatList(List<Bean5> rows1,
                                  List<Bean5> rows2,
                                  List<Bean5> rows3
    ) {
        for (Bean5 bean52 : rows2) { //我抽出来的数据（小）
            for (Bean5 bean51 : rows1) { //数据集合（大）
                if (bean52.get合同编号() != null && bean52.get身份证号() != null) {
                    if (bean52.get合同编号().equals(bean51.get合同编号()) && bean52.get身份证号().equals(bean51.get身份证号())) {
                        rows3.add(bean51);
                    }
                }

            }
        }
    }

    public static void excelWriterBean3(List<Bean5> rows) {

        // 通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter("D:\\桌面\\21\\报案合同人数22.xlsx");
        // 合并单元格后的标题行，使用默认标题样式
        // writer.merge(4, "一班成绩单");
        // 一次性写出内容，使用默认样式，强制输出标题
        writer.write(rows, true);
        // 关闭writer，释放内存
        writer.close();
    }
}
